<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title></title>
  </head>
  <body>
    <div id="app">
      <!-- 模板中不用写 count.value，顶层 Ref 对象会自动解包 -->
      <div>{{ count }}</div>
      <!-- 非顶层 Ref 对象 && Ref 对象是文本插值的最终计算值 也会自动解包 -->
      <div>{{ obj.id }}</div>
      <!-- 非顶层 Ref 对象 && Ref 对象不是文本插值的最终计算值 则不会自动解包 -->
      <div>{{ obj.id + 1 }}</div>
      <!-- 直接解构成顶级的 Ref 对象会自动解包 -->
      <div>{{ id }}</div>
      <div>{{ id + 1 }}</div>
    </div>

    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

    <script>
      const { createApp, ref } = Vue;

      const app = createApp({
        setup() {
          const count = ref(0);
          const obj = { id: ref(1) };
          const { id } = obj;

          return {
            count,
            obj,
            id,
          };
        },
      });

      app.mount("#app");
    </script>
  </body>
</html>
